package com.qf.commerce.mapper;

import com.qf.commerce.entity.Address;
import com.qf.commerce.entity.OrderList;
import com.qf.commerce.common.dto.OrderListDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
   *出品人:lsj
   *1992915043@qq
*/
   
public interface OrderListMapper {
    int deleteByPrimaryKey(Integer orderId);

    int insert(OrderList record);

    int insertSelective(OrderList record);

    int updateByPrimaryKeySelective(OrderList record);

    int updateByPrimaryKey(OrderList record);
    //询单页面
    List<OrderList> selectInquiryByOrderStatus(Integer orderStatus);
    //根据不同的订单状态,查询到对应订单状态的信息
    OrderList selectByOrderStatus(@Param("orderStatus") Integer orderStatus);
    //待付定金页面
    List<OrderList> selectDepositPendingByOrderStatus(Integer orderStatus);
    //开启尾款支付
    List<OrderList> selectBalancePaymentByOrderStatus(Integer orderStatus);
    //待付尾款
    List<OrderList> selectBalancePaidByOrderStatus(Integer orderStatus);
    //尾款已支付
    List<OrderList> selectHavePaidBalancePaymentByOrderStatus(Integer orderStatus);
    //待收货
    List<OrderList> selectAwaitReceiveGoodsByOrderStatus(Integer orderStatus);
    //待付尾款-开启多阶段  OpenMultiphase
    List<OrderList> selectOpenMultiphaseByOrderStatus(Integer orderStatus);
    //待付尾款-多阶段发货
    List<OrderList> selectMultistageDeliveryByOrderStatus(Integer orderStatus);
    //多阶段发货-待收货
    List<OrderList> selectAwaitReceiveGoodByOrderStatus(Integer orderStatus);
    //已完成订单
    List<OrderList> selectCompleteOrderByOrderStatus(Integer orderStatus);
    //待评价
    List<OrderList> selectRemainEevaluatedByOrderStatus(Integer orderStatus);
    //订单已取消
    List<OrderList> selectCancelledOrderByOrderStatus(Integer orderStatus);
    //订单列表
    List<OrderList> selectOrderPageByOrderList(@Param("orderListDto") OrderListDto orderListDto);
    //批量删除订单
    int deleteByOrderId(@Param("orderId") List<Long> orderId);
   //修改地址信息
    int updateByOrderStatus(@Param("address") Address address);

    //收货单
//    List<OrderList> selectOrderListPageByReceivingNote(@Param("orderListDto") OrderListDto orderListDto);








}